課程資訊
課程名稱
計算思維與基礎程式設計
Computing Thinking and Basic Programming 
開課學期
105-1 
授課對象
基因體與系統生物學學位學程  
授課教師
施純傑 
課號
GenSys5013 
課程識別碼
B48 U0270 
班次
01 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期五3,4,6,7(10:20~15:10) 
上課地點
 
備註
每週五生科館4C10:30~12:10上課;13:20-15:10上機實習(計中R212)
總人數上限:30人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1051GenSys5013_01 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

用電腦來解決問題,是有一連串計算思維(Computational Thinking)的程序,而程式語言則是最後實作的工具。對於理工科系學生,在專業課程的學習中,一直在訓練這種計算思維的模式和處理問題的方法。然而對於生命科學相關科系的學生,這些方面訓練較少。因此在學習程式設計時,必須同時加強計算思維方面的訓練。本課程將首先介紹何謂計算思維,讓學生知道如何利用電腦來分析資料和解決問題的整個思維邏輯和計算過程。在每個單元的課程,都將先藉由問題的探討,引導學生分析問題,先行撰寫虛擬程式碼,然後配合介紹相關的程式語言設計來實作。主要的語言為C語言在不同作業系統的操作。但跟一般程式語言課程不同,本課程著重於如何利用程式語言最簡單最基本的功能,藉由串接一些常用的工具,來解決問題。因此並不深入探討單一程式語言艱深的實作技巧。  

課程目標
1. 教導生科學生如何利用計算思維的技巧,從問題分解、資料表示、抽象化和演算法等,進而利用撰寫程式,解決問題。
2. 使學生具有基本撰寫程式能力。
3. 使學生具有串接不同工具或程式,來解決問題。  
課程要求
待補 
預期每週課後學習時數
 
Office Hours
每週五 15:20~16:20 
指定閱讀
待補 
參考書目
1. 授課老師會提供每堂課的投影片和課程筆記. 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
上課 
10% 
簽到。  
2. 
作業 
20% 
 
3. 
期中專題  
30% 
 
4. 
期末專題 
40% 
 
 
課程進度
週次
日期
單元主題
第1週
9/16  中秋節連假。 
第2週
9/23  上課(生科館): 課程介紹+何謂計算思維 (CT)
實習(計中R212): 無。  
第3週
9/30  CT: Computational Thinking; CL: C Language 上課: (CT) Introduction to structured programming; (CL) A tutorial introduction to C language 實習: 熟悉Code::Blocks Window C Programming Environment  
第4週
10/07  上課:(CT) Data type and logic; (CL) Types, operators, and expressions
實習:範例測試+Homework (動態LED顯示)  
第5週
10/14  上課:Control Flow
實習:範例測試+Homework (動態LED交錯顯示)  
第6週
10/21  上課:Input and output
實習:範例測試+Homework (動態顯示+鍵盤輸入操作)  
第7週
10/28  上課:Pointers and arrays
實習:範例測試+Homework(動態顯示+鍵盤輸入操作))  
第8週
11/04  上課:Functions and program structure
實習:Midterm project (Animated ASCII Art)  
第9週
11/11  Ux: Unix System 上課:Introduction to Linux
實習:Midterm project (Animated ASCII Art)  
第10週
11/18  上課:Midterm project demonstration
實習:Midterm project (Animated ASCII Art) 實習:範例測試+Learn how to use Linux  
第11週
11/25  上課:Using the shell
實習:範例測試+Run C programs in Linux  
第12週
12/02  上課:Redirection and pipe in Linux and program parameterization
實習:範例測試+Run C programs in Linux  
第13週
12/09  上課:Useful commends and filters in Linux, Simple shell programming
實習:範例測試+Final project  
第14週
12/16  上課:Special topic I
實習:Final project  
第15週
12/23  上課:Special topic II
實習:Final_Project  
第16週
12/30  上課:Special Topic III & Course review
實習:Final_Project  
第17週
1/06  上課:Final project demonstration 實習:CLOSE